npiperelay & socatでWSLとWindowsのssh-agentを同期
from
code:admin powershell
choco install npiperelay
code:wsl(sh)
sudo apt install socat
以下を追記
code:~/.bashrc(sh)
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
# check socat process and the socket file
# clean up old processes and files
pkill -f "socat.*$SSH_AUTH_SOCK" 2>/dev/null
rm -f "$SSH_AUTH_SOCK"
# start new socat
(setsid socat UNIX-LISTEN:"$SSH_AUTH_SOCK",fork EXEC:"/mnt/c/path/to/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork &) >/dev/null 2>&1
sleep 0.5
fi
/mnt/c/path/to/npiperelay.exeは適宜変更する
code:example
/mnt/c/ProgramData/chocolatey/lib/npiperelay/tools/npiperelay.exe
ただし接続がうまくいかないときはこれを消してターミナルを再起動してみる(再作成される)
$ ssh -V
WSL側よりWindows側が古いとcommunicationに失敗する?
Linux.icon
bash.icon